Direct current magnetoresistive jog offset compensation

ABSTRACT

Systems and methods for compensating for magnetoresistive (MR) jog offset direct current (DC) drift in a disc drive are described. In one embodiment, a method may include determining an occurrence of NOS, for example, by monitoring disc slip, to determine when the method should proceed. An MR jog offset DC drift amount is determined for each head of the disc drive. One of several approaches may be employed for determining the MR jog offset DC drift amount. By determining an MR jog offset DC drift amount for each head, a compensation profile is determined for the drive. The determined compensation profile may then be used during operation of the disc drive to compensate for the DC drift. One of several approaches may be employed for compensating based on the compensation profile.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.15/341,246, filed on 2 Nov. 2016 and entitled DIRECT CURRENTMAGNETORESISTIVE JOG OFFSET COMPENSATION, now U.S. Pat. No. 9,837,111,issued on 5Dec. 2017, which is a continuation of U.S. patent applicationSer. No. 15/170,859, filed on 1 Jun. 2016 and entitled DIRECT CURRENTMAGNETORESISTIVE JOG OFFSET COMPENSATION, now U.S. Pat. No. 9,520,149,issued on 13 Dec. 2016, the disclosures of which are incorporated hereinin their entireties, by this reference.

SUMMARY

The present disclosure is directed to methods and systems forcompensating for changes in magnetoresistive (MR) jog offset in a discdrive. In some embodiments, the present systems and methods maycompensate for MR jog offset DC drift resulting from non-operating shock(NOS).

A storage device for MR jog offset compensation is described. In oneembodiment, the storage device may include a data storage mediumcomprising at least one disc, at least one magnetoresistive (MR)read/write head associated with the at least one disc, a non-operatingshock (NOS) detector to determine an occurrence of NOS based at least inpart on slip of the at least one disc, an MR jog offset direct current(DC) drift detector to determine an MR jog offset DC drift amount basedat least in part on a variable read performed over at least onerevolution of the at least one disc using the at least one MR read/writehead when the NOS detector has determined the occurrence of NOS, and anMR jog offset compensator to compensate for the determined MR jog offsetDC drift amount using the determined DC MR jog offset for the at leastone MR read/write head.

In some embodiments, the data storage medium may include a plurality ofdiscs and the at least one MR read/write head may comprise a pluralityof MR read/write heads, each of the plurality of MR read/write headsbeing associated with a respective one of the plurality of discs. Insome cases, the MR jog offset DC drift detector is to determine aplurality of MR jog offset DC drift amounts based on a correspondingplurality of variable reads, each of the plurality of variable readsusing a respective one of the plurality of MR read/write heads, each ofthe determined plurality of MR jog offset DC drift amounts correspondingto the respective one of the plurality of MR read/write heads. In someconfigurations, the storage device further includes a correction profiledeterminer to determine a correction profile based at least in part onthe determined plurality of MR jog offset DC drift amounts. Thecorrection profile may be a plurality of DC MR jog offsets correspondingto the plurality of MR read/write heads. The MR jog offset compensatormay compensate for the determined plurality of MR jog offset DC driftamounts using the determined correction profile.

In some embodiments, the MR jog offset compensator compensates for thedetermined MR jog offset DC drift amount using write seek feedforwardcompensation. In other embodiments, the MR jog offset compensatorcompensates for the determined MR jog offset DC drift amount bymigrating data using shingled magnetic recording (SMR) band rewriteoperation (BRO).

In some embodiments, the variable read may be a spiral read, a zig-zagread, a sinusoidal read, or some combination thereof. In otherembodiments, the variable read may be a plurality of reads performedwith different track offsets of the at least one MR read/write head.

In some embodiments, the MR jog offset direct current (DC) driftdetector determines the MR jog offset DC drift amount based at least inpart on a bit error rate (BER) measurement. In other embodiments, the MRjog offset direct current (DC) drift detector determines the MR jogoffset DC drift amount based at least in part on a variable gainadjustment measurement.

An apparatus for MR jog offset compensation is also described. In oneembodiment, the apparatus may include an MR jog offset direct current(DC) drift detector to determine an MR jog offset DC drift amount basedat least in part on a variable read performed over at least onerevolution of at least one disc of a data storage medium using at leastone MR read/write head based at least in part on an occurrence ofnon-operating shock, and a correction profile determiner to determine aDC MR jog offset for the at least one MR read/write head based at leastin part on the determined MR jog offset DC drift amount.

A method for MR jog offset compensation is also described. In oneembodiment, the method may include determining an occurrence ofnon-operating shock (NOS) in a disc drive by monitoring disc slip,determining magneto-resistive (MR) jog offset direct current (DC) driftamount associated with the occurrence of NOS, determining a correctionprofile based at least in part on the MR jog offset DC drift amount, andcompensating for MR jog offset DC drift using the correction profile.

The foregoing has outlined rather broadly the features and technicaladvantages of examples according to this disclosure so that thefollowing detailed description may be better understood. Additionalfeatures and advantages will be described below. The conception andspecific examples disclosed may be readily utilized as a basis formodifying or designing other structures for carrying out the samepurposes of the present disclosure. Such equivalent constructions do notdepart from the scope of the appended claims. Characteristics of theconcepts disclosed herein—including their organization and method ofoperation—together with associated advantages will be better understoodfrom the following description when considered in connection with theaccompanying figures. Each of the figures is provided for the purpose ofillustration and description only, and not as a definition of the limitsof the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of the presentdisclosure may be realized by reference to the following drawings. Inthe appended figures, similar components or features may have the samereference label. Further, various components of the same type may bedistinguished by following a first reference label with a dash and asecond label that may distinguish among the similar components. However,features discussed for various components—including those having a dashand a second reference label—apply to other similar components. If onlythe first reference label is used in the specification, the descriptionis applicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

FIG. 1 is a block diagram of an example of a system in accordance withvarious embodiments;

FIGS. 2A and 2B show a slider and a disc and illustrate geometry relatedto MR jog offset in accordance with various aspects of this disclosure;

FIG. 3 shows a block diagram of an example of a module in accordancewith various aspects of this disclosure;

FIG. 4 is a flow chart illustrating an example of a method in accordancewith various aspects of this disclosure; and

FIG. 5 is a flow chart illustrating an example of another method inaccordance with various aspects of this disclosure.

DETAILED DESCRIPTION

The following relates generally to MR jog offset compensation in a discdrive. A disc drive typically includes one or more read/write heads thatare driven relative to a storage medium to write data to and read datafrom the medium. During production of a disc drive, once the drive hasbeen assembled, an MR jog offset will be calibrated for the drive, forexample, during a certification process. For each read-write head of thedisc drive, a set of polynomial coefficients, a₀, a₁, a₂ . . . , an, aredetermined and saved, for example, to non-volatile storage. For a giventrack x on a particular disc, the MR jog offset D(x) for the associatedhead is obtained as follows:D(x)=a ₀ x ^(n) +a ₁ x ^(n-1) + . . . +a _(n)

After certification, however, the MR jog offset may incur DC shift ordrift. DC shift may occur, for example, as a result of non-operatingshock (NOS) to the disc drive. For a mobile drive, a typical NOSspecification is 1000G @ 2 ms. When a disc drive is subjected to such ahigh G level shock, certain mechanical components will be shifted ordrifted. Note that the description herein uses the term drift toencompass both drift and shift.

Regardless of the cause of the drift, in one embodiment, the presentdisclosure describes an efficient method to compensate for MR jog offsetDC drift in a disc drive. In the case of NOS induced drift, the methodmay include determining an occurrence of NOS, for example, by monitoringdisc slip, to determine when the method should proceed.

In either case, an MR jog offset DC drift amount is determined for eachhead of the disc drive. As described further below, one of severalapproaches may be employed for determining the MR jog offset DC driftamount. By determining an MR jog offset DC drift amount for each head, acompensation profile is determined for the drive. The determinedcompensation profile is then used during operation of the disc drive tocompensate for the DC drift. As described further below, one of severalapproaches may be employed for compensating based on the compensationprofile.

FIG. 1 is a block diagram illustrating one embodiment of a data storagesystem 100 (e.g., a disc drive system) in which the present systems andmethods may be implemented. The data storage system 100 includes media106, such as a plurality of discs 107, which are mounted on a spindlemotor 140 by a clamp 108 (also referred to as a spindle or spindlecomponent). Each surface of the media 106 has an associated slider 110,which carries a read/write head 111 for communication with the mediasurface. Sliders 110 are supported by suspensions and track accessingarms of an actuator mechanism 116. For example, the actuator mechanism116 can be of the type known as a rotary moving coil actuator andincludes a voice coil motor (VCM) 118. The VCM 118 rotates actuatormechanism 116 about a pivot shaft to position sliders 110 over a desireddata track along an arcuate path between an inner diameter (ID) and anouter diameter (OD) of respective discs 107. The VCM 118 is driven byelectronic circuitry based on signals generated by the read/write heads111 and a servo controller 138.

As previously discussed, media 106 can include a plurality of discs 107.Each disc 107 has a plurality of substantially concentric circulartracks. Each track is subdivided into a plurality of storage segments.As defined herein, a storage segment is the basic unit of data storagein media 106. Each storage segment is identified and located at variouspositions on media 106. In the disc-type media example, storage segmentsor data sectors are “pie-shaped” angular sections of a track that arebounded on two sides by radii of the disc and on the other side by theperimeter of the circle that defines the track. Each track has relatedlogical block addressing (LBA). LBA includes a cylinder address, headaddress and sector address. A cylinder identifies a set of specifictracks on the disc surface to each disc 107 which lie at equal radii andare generally simultaneously accessible by the collection of read/writeheads 111. The head address identifies which head can read the data andtherefore identifies which disc from the plurality of discs 107 the datais located. As mentioned above, each track within a cylinder is furtherdivided into sectors for storing data and servo information. The datasector is identified by an associated sector address.

The data storage system 100 includes a system processor 136, which isused for controlling certain operations of data storage system 100 in aknown manner. The various operations of data storage system 100 arecontrolled by system processor 136 (e.g., storage controller) with theuse of programming and/or instructions stored in a memory 137. The datastorage system 100 also includes a servo controller 138, which generatescontrol signals applied to the VCM 118 and spindle motor 140 (as well asthe microcontroller, not shown). The system processor 136 instructs theservo controller 138 to seek read/write head 111 to desired tracks. Theservo controller 138 is also responsive to servo data, such as servoburst information recorded on disc 107.

The data storage system 100 further includes a preamplifier (preamp) 142for generating a write signal applied to a particular read/write head111 during a write operation, and for amplifying a read signal emanatingfrom a particular read/write head 111 during a read operation. Aread/write channel 144 receives data from the system processor 136, viaa buffer 144, during a write operation, and provides encoded write datato the preamplifier 142. During a read operation, the read/write channel146 processes a read signal generated by the preamplifier 142 in orderto detect and decode data recorded on the discs 107. The decoded data isprovided to the system processor 136 and ultimately through an interface148 to a host computer 150.

In some configurations, the data storage system 100 may include a DCdrift compensator, such as a DC MR jog offset compensation module 130.In one example, the data storage system 100 may be a component of a host(e.g., operating system, host hardware system, etc.). The DC MR jogoffset compensation module 130 may compensate for DC drift of theread/write heads 111, for example, by feedforward of a correction factorduring write operation to maintain the writer at the original written-indata center. Alternatively, the DC MR jog offset compensation module 130may compensate for DC drift of the read/write heads 111 by migratingdata using shingled magnetic recording (SMR) band rewrite operations.

FIG. 2A shows a block diagram 200-a illustrating a slider 110-a inaccordance with various aspects of this disclosure. As shown, the slider110-a includes a read head 111 r and a write head 111 w, correspondingto the MR read/write head 111 shown in FIG. 1, for example. The readhead 111 r and the write head 111 w are separated and offset from eachother. As shown in FIG. 2A, the separation between the read head 111 rand the write head 111 w is S, which may be referred to as the R/Wseparation. The offset between the read head 111 r and the write head111 w is 0, which may be referred to as the R/W offset. This physicalseparation and offset of the read head 111 r and the write head 111 wresults in a particular MR jog offset across the surface of anassociated disc.

FIG. 2B shows a block diagram 200-b illustrating a disc 107-a inaccordance with various aspects of this disclosure. The disc 107-a mayhave a plurality of tracks on its surface, with a track 107 t beingshown for reference. The disc 107-a is mounted on a spindle 108-a, asdescribed above with reference to FIG. 1. Further, an actuator (notshown) having a pivot 116 p is configured to move a slider (not shown)relative to the disc 107-a. The slider may be configured as shown inFIG. 2A, for example.

The slider includes a read head 111 r-a and a write head 111 w-a, asillustrated in FIG. 2B. As further depicted in FIG. 2B, an MR jog offsetO_(MRj) for the MR read/write head (read head 111 r-a and 111 w-a) isdetermined based on one or more of R/W offset O, R/W separation S, adistance D_(PS) between the actuator pivot 116 p and a center 108 c ofthe spindle 108-a, a distance D_(PH) between the actuator pivot 116 pand the MR read/write head (e.g., the read head 111 r-a), and a radiusR_(t) of the track 107 t.

As discussed above, a disc drive may experience a NOS that driftsvarious mechanical components of the drive. For example, the actuatorpivot may drift relative to the spindle pivot (center). With thegeometrical relationship illustrated in FIG. 2B, the MR jog offsetO_(MRj) will incur DC drift. Also, for example, a top cover of the discdrive may drift and cause a tilt in the actuator. In such case, a top(closer to the cover) slider (e.g., MR write head) associated with a topdisc will incur worse MR jog offset DC drift than a bottom sliderassociated with a bottom disc.

The impact of such a DC drift may be disastrous for the disc drive. Forexample, new data write operations after the NOS may cause DCencroachment that may corrupt the data written on an adjacent trackbefore the NOS. With such encroachment, one or more data sectors mayreport an uncorrectable data error (UDE) when an attempt to read thedata on the adjacent track is made. As the tracks per inch (TPI) on adisc is increased, addressing the problem of DC drift may increase inimportance.

FIG. 3. shows a block diagram 300 of a DC MR jog offset compensationmodule 130-a. The DC MR jog offset compensation module 130-a may includeone or more processors, memory, and/or one or more storage devices. TheDC MR jog offset compensation module 130-a may include an NOSdetermination module 305, a DC drift determination module 310, and a DCdrift compensator module 315. Each of these components may be incommunication with each other. The DC MR jog offset compensation module130-a may be one example of the DC MR jog offset compensation module 130of FIG. 1.

As described herein, the NOS determination module 305 is configured todetermine when an NOS has occurred. Determination of a NOS occurrencemay be used to determine when to proceed with DC drift determination andcompensation. Although any suitable approach for determining NOS may beemployed, the NOS determination module 305 may determine when an NOS hasoccurred by monitoring disc slip. For example, the NOS determinationmodule 305 may employ the existing servo system of the disc drive, suchas the system processor 136 and/or the servo controller 138 shown in theexample of FIG. 1. The servo system may be configured to monitoralternating current feed-forward (ACFF) to detect occurrence of NOS.When a disc is not subjected to NOS, the data tracks are concentric andthere is no AC component in the VCM current to follow a data track.However, if there is disc slip due to NOS, the data tracks becomeeccentric and there will be a sinusoidal component in the VCM to followone of the data tracks. The amplitude of the ACFF is proportional to theamount of disc slip.

The DC drift determination module 310 is configured to determine anamount of DC drift incurred by each MR read/write head (or slider) inthe disc drive. Although various details for determining the amount ofDC drift are described, it should be understood that the amount of DCdrift may be determined or otherwise obtained in any suitable manner. Asdescribed further below, the DC drift determination module 310determines the amount of DC drift for each slider/head using at leastone test track on a disc associated with the slider/head. For example,one or more test tracks across the surface of the disc may be laid outand prepared (e.g., during the certification process for the discdrive), which are reserved and not used for data storage. To determinethe amount of DC drift after NOS, a new write operation is performed tothe prepared test tracks. The new write data will reflect the MR jog DCdrift. A subsequent read back operation (multiple read, spiral read,zig-zag read, etc.) is be used to determine the DC shift based on BER orRVGA.

In general, bit error rate (BER) is a function of an amount of thereader (e.g., read head) being off-track, wherein a larger off-track ofthe reader corresponds to a lower BER. In the case of an MR jog offsetDC shift occurring, the relationship between the BER (e.g., raw sector)and the reader off-track amount (e.g., percent track position)correspondingly shifts. As such, the DC drift determination module 310can determine the DC shift amount by measuring cross-track BER of thetest track, with the highest BER corresponding to the DC drift amount.

Alternatively, the DC drift determination module 310 can determine theDC shift amount based on the relationship between read variable gainadjustment (read VGA or VGAR) and the reader off-track amount. In thiscase, the DC drift determination module 310 can determine the DC shiftamount by measuring cross-track VGAR of the test track, with the lowestVGAR corresponding to the DC drift amount.

For either the BER or the VGA approach, several techniques may beemployed. For the sake of brevity and clarity, the following techniquesare discussed with respect to BER. However, it should be understood thateach of these techniques may be employed for the VGA approach as well.

A first technique is to perform multiple reads, each with a differentreader offset (e.g., from negative to positive), to measure BER andobtain BER values for each offset. The DC drift amount is thendetermined as the offset corresponding to the highest BER value. Apotential downside to this technique is the multiple reads at differenttrack offset for each slider/head, which may be relativelytime-consuming and could negatively impact performance of the discdrive.

A second technique is to perform a spiral read by positioning the readerprogressively over a range of offsets (e.g., from an original(pre-drift/pre-NOS) offset minus fifty percent (D−50%) to the originaloffset plus fifty percent (D+50%) during one revolution of the disc.This can be achieved, for example, by adjusting to different set pointvalues for different servo sectors. As such, the spiral read techniquecan achieve a relatively quick sector-wise BER measurement, from whichthe highest BER and corresponding offset is determined to determine theDC drift amount.

More particularly, to read from negative fifty percent (−50%) off-trackto fifty percent (50%) off-track, the position set point for a givensector m is X+D+C(m), with C(m) calculated as follows:

${C(m)} = {{{- 50}\%} + {\frac{100\%}{N}m}}$where N is the total number of servo sectors. By disabling read retry, arelationship between sector-wise BER and data sector l is obtained fromreading over one revolution of the disc. In general, the relationshipbetween data sector l and servo sector m is predetermined, for example,by a read/write (R/W) zone table for the disc drive. The foregoingequation maps servo sector m to a physical off-track amount C. A secondorder polynomial fit of BER to off-track amount C is given by:BER=a*C ² +b*C+c

The off-track amount C_(x) corresponding to the highest BER is given by:

${C_{x} = {- \frac{b}{2a}}},$where C_(x) is the MR jog offset DC drift amount C for test track x.

Repeating the above on all test tracks across the whole surface of eachdisc for each respective slider/head obtains DC shift values that can beused to populate a DC MR jog offset correction table for eachslider/head, which can be saved to non-volatile storage of the discdrive, for example, for use in future write operations (e.g.,feedforward correction, discussed below). The DC MR jog offsetcorrection values can still be in the form of polynomial coefficients,b₀, b₁, b₂ . . . , b_(n), similar to the originalcalibrated/certification MR jog offset values for a given track x on aparticular disc, the MR jog offset correction value C(x) for theassociated head is obtained as follows:C(x)=b ₀ x ^(n) +b ₁ x ^(n-1) + . . . +b _(n)

Additional techniques, similar to the second technique, may involve azig-zag movement of the reader or a sinusoidal movement of the reader,for example, through +/−50% track offset, to obtain multiple reads persector over one revolution of the disc. Thus, multiple sector wise BERmeasurements are obtained for each track offset. The multiplemeasurements are then averaged to obtain a single BER value for eachsector. As above, the offset corresponding to the highest BER value isthe MR jog offset DC drift amount.

Once the DC drift amount has been determined for each slider/head of thedisc drive), the DC drift compensator module 315 determines a correctionfactor or MR jog offset adjustment value for compensating thepositioning of each slider/head for future read/write operations. For adisc drive including multiple discs and associated sliders/heads, thecorrection factors/adjustment values for the sliders/heads may be stored(e.g., in memory 137) as a correction profile. The correction profile isthen accessed for read/write commands (according to the particular discto be read from/written to) to properly position the appropriateslider/head.

As described further below, the correction profile may be employed usingfeedforward during write operation, i.e., using the compensation valueC(x) during write operation as a feedforward value to the readerposition, in order to place the writer to the center of the originalwritten-in data path to avoid off-track encroachment. During readoperation, the original MR jog table D(x), obtained during CERT processto place the reader to the written-in data path, is used to retrievedata. Alternatively, for a data migration approach using BRO, thecompensation value C(x) is not used during write operation, and the newdata path will be with some offset (e.g., in the amount of C(x)) fromthe original written-in data path. For this case, the compensation valueC(x) is used in conjunction with D(x) (i.e., D(x)−C(x)) when laterattempting to read back the “newly” written data. Only D(x) is used toretrieve “old” written data.

The DC drift compensator module 315 may use the correction profile inany suitable manner to compensate for the DC shift, for example, toavoid data encroachment on adjacent tracks. For example, the DC driftcompensator module 315 can adjust the positioning of the read headduring write operations by feedforward of the correction factor/offsetadjustment value C(x) into the servo position set point. In such amanner, the write head is positioned to the original (pre-drift/pre-NOS)position for a given track. For read operations, the original (e.g.,certification process) MR jog offset D(x) is used.

As an alternative, the DC drift compensator module 315 can use full bandrewrite operation (BRO) to write a whole shingled magnetic recording(SMR) band. During the BRO, the servo position set point remains at theoriginal center of the particular track. Thus, the newly written data isshifted away from the original data center of the track by thecorresponding correction factor/adjustment value C(x). When writingaccording to the shingle direction, the whole band is shifted by thecorrection factor/adjustment value. Because of a fat track or a fattrack and a guard band situated between bands according to SMR, thewrite operation for a last track of a band will not cause encroachmentto the first track of the adjacent band. However, for a correctionfactor/adjustment value that is significantly large (e.g., such thatencroachment on the next band is likely to occur), the data of the firsttrack(s) of the adjacent band may be read back into a data buffer beforeperforming the full BRO in the preceding SMR band.

For each new write operation after NOS, a full BRO for the band to whichthe data track belongs should be performed. Additionally, the SMR bandsshould be tracked with respect to the BRO—keeping track of which SMRbands have been subjected to BRO and which have not. To read backoriginal data (e.g., data that was written before the drift/NOS), theoriginal (pre-drift/pre-NOS) MR jog offset D(x)—C(x) is used.Alternatively, or additionally, original data may be corrected (e.g., inbackground tasks) by reading the original data from a band back into adata buffer, and then re-writing using a full BRO for the whole band.Also, SMR band usage may be monitored and recorded, so that, if data wasnever written to a particular SMR band before the DC drift/NOS, the SMRband can be skipped for data migration.

One or more of the components of the DC MR jog offset compensationmodule 130-a, individually or collectively, may be implemented using oneor more application-specific integrated circuits (ASICs) adapted toperform some or all of the applicable functions in hardware.Alternatively, the functions may be performed by one or more otherprocessing units (or cores), one or more integrated circuits, orcombinations thereof. In other examples, other types of integratedcircuits may be used (e.g., Structured/Platform ASICs, FieldProgrammable Gate Arrays (FPGAs), and other Semi-Custom ICs), which maybe programmed in any manner known in the art. The functions of eachmodule may also be implemented—in whole or in part—with instructionsembodied in memory formatted to be executed by one or more generaland/or application-specific processors.

FIG. 4 is a flow chart illustrating an example of a method 400 for DC MRjog offset compensation in a disc drive, in accordance with variousaspects of the present disclosure. One or more aspects of the method 400may be implemented in conjunction with the data storage system 100 ofFIG. 1, the subassemblies of FIGS. 2A-2B, and/or the DC MR jog offsetcompensation module 130-a of FIG. 3. In some examples, a storage devicemay execute one or more sets of codes to control the functional elementsof the storage device to perform one or more of the functions describedbelow. Additionally or alternatively, the storage device may perform oneor more of the functions described below using special-purpose hardware.

At block 405, the method 400 may include determining an occurrence ofnon-operating shock (NOS). Determining the NOS occurrence at block 405may be performed in any suitable manner, such as described above withreference to FIG. 3. As illustrated by the dotted line of block 405,such operation(s) may be optional, for example, to be performed atstartup of the disc drive when the method 400 is to address DC MR jogoffset compensation due to NOS.

At block 410, the method 400 may include determining an MR jog offset DCdrift amount. For example, the operation(s) at block 410 may involveperforming any one of the techniques described above with reference toFIG. 3.

Next at block 415, the method 400 may include determining a correctionprofile for multiple sliders/heads of the disc drive. For example, theoperation(s) at block 415 may involve obtaining multiple offset valuesfor each slider/head from performance of the operation(s) at block 410on a per track basis. In other words, a correction profile may beobtained for each head, with the correction value being calculated on aper track basis. Once determined, the correction profile can be storedlocally at the disc drive.

Then at block 420, the method 400 may include compensating for MR jogoffset DC drift. For example, the operation(s) at block 410 may involveperforming either of the BER or the VGA approaches described above withreference to FIG. 3. As illustrated by the dotted line of block 420,such operation(s) may be optional. In some cases, the method 400 may endwith the operation(s) at block 415. For example, if no write operationsoccur after the NOS and before a subsequent NOS, no compensation for theMR jog offset drift may be performed (e.g., in the case of thefeedforward correction approach discussed above). In the case of the SMRBRO approach discussed above, proactive correction of original data maybe performed, with or without write operations occurring after the NOSand before a subsequent NOS.

The operation(s) at block 405-420 may be performed using the DC MR jogoffset compensation module 130 described with reference to FIGS. 1 and 2and/or another module. Thus, the method 400 may provide for DC MR jogoffset compensation in a disc drive that experiences DC drift due to NOSor other reasons. It should be noted that the method 400 is just oneimplementation and that the operations of the method 400 may berearranged, omitted, and/or otherwise modified such that otherimplementations are possible and contemplated.

FIG. 5 is a flow chart illustrating an example of another method 500 forDC MR jog offset compensation in a disc drive, in accordance withvarious aspects of the present disclosure. More specifically, the method500 may be employed to implement particular approaches described herein.One or more aspects of the method 500 may be implemented in conjunctionwith the data storage system 100 of FIG. 1, the subassemblies of FIGS.2A-2B, and/or the DC MR jog offset compensation module 130-a of FIG. 3.In some examples, a storage device may execute one or more sets of codesto control the functional elements of the storage device to perform oneor more of the functions described below. Additionally or alternatively,the storage device may perform one or more of the functions describedbelow using special-purpose hardware.

At block 505, the method 500 may include determining an occurrence ofnon-operating shock (NOS). Determining the NOS occurrence at block 405may be performed in any suitable manner, such as described above withreference to FIG. 3. The method 500 may be considered to be specific toDC MR jog offset compensation for DC drift caused by NOS.

At block 510, the method 500 may include performing a variable read of atest track over one revolution of a particular disc. The variable readat block 510 may be performed in any suitable manner, such as describedabove with reference to FIG. 3. At block 515, the method 500 may includeaveraging sector-wise BER values obtained from the operation(s) at block510. As illustrated by the dotted line of block 515, such operation(s)may be optional. In some cases, the operations at block 510 may involveobtaining multiple reads per sector over one revolution of the disc(e.g., zig-zag or sinusoidal movement of the reader). In such cases, themethod 500 may include the averaging operation(s) at block 515. In otherembodiments, the operations at block 510 may involve obtaining a singleread per sector or offset (e.g., N revolutions each read at differentoffset or spiral movement of the reader over one revolution), whichwould not require the averaging operation(s) at block 515.

At block 520, the method 500 may include determining the highest BERvalue from the results of the variable read operation(s) at block 510,with or without the averaging operation(s) at block 515. As discussedabove, the offset corresponding to the highest BER may be used as the DCdrift amount. The method 500 may continue to block 525, at which adetermination may be made as to whether any sliders/heads remain forwhich the DC drift is to be determined. If so, the method 500 may returnto block 510 to repeat operations for a subsequent slider/head. If not(e.g., the DC drift amount(s) for each slider/head are determined), themethod 500 may continue to block 530, at which the method 500 mayinclude performing write seek forward compensation based at least inpart on the determined DC drift amount(s) for the particular slider/headfor each write operation occurring after the NOS.

The operations at blocks 505-530 may be performed using the DC MR jogoffset compensation module 130 described with reference to FIGS. 1 and 2and/or another module. Thus, the method 500 may provide for DC MR jogoffset compensation in a disc drive that experiences DC drift due to NOSas described herein. It should be noted that the method 500 is just oneimplementation and that the operations of the method 500 may berearranged, omitted, and/or otherwise modified such that otherimplementations are possible and contemplated.

In some examples, aspects from the methods 400 and 500 may be combinedand/or separated. It should be noted that the methods 400 and 500 arejust example implementations, and that the operations of the methods 400and 500 may be rearranged or otherwise modified such that otherimplementations are possible.

The detailed description set forth above in connection with the appendeddrawings describes examples and does not represent the only instancesthat may be implemented or that are within the scope of the claims. Theterms “example” and “exemplary,” when used in this description, mean“serving as an example, instance, or illustration,” and not “preferred”or “advantageous over other examples.” The detailed description includesspecific details for the purpose of providing an understanding of thedescribed techniques. These techniques, however, may be practicedwithout these specific details. In some instances, known structures andapparatuses are shown in block diagram form in order to avoid obscuringthe concepts of the described examples.

Information and signals may be represented using any of a variety ofdifferent technologies and techniques. For example, data, instructions,commands, information, signals, bits, symbols, and chips that may bereferenced throughout the above description may be represented byvoltages, currents, electromagnetic waves, magnetic fields or particles,optical fields or particles, or any combination thereof.

The various illustrative blocks and components described in connectionwith this disclosure may be implemented or performed with ageneral-purpose processor, a digital signal processor (DSP), an ASIC, anFPGA or other programmable logic device, discrete gate or transistorlogic, discrete hardware components, or any combination thereof designedto perform the functions described herein. A general-purpose processormay be a microprocessor, but in the alternative, the processor may beany conventional processor, controller, microcontroller, and/or statemachine. A processor may also be implemented as a combination ofcomputing devices, e.g., a combination of a DSP and a microprocessor,multiple microprocessors, one or more microprocessors in conjunctionwith a DSP core, and/or any other such configuration.

The functions described herein may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof. Ifimplemented in software executed by a processor, the functions may bestored on or transmitted over as one or more instructions or code on acomputer-readable medium. Other examples and implementations are withinthe scope and spirit of the disclosure and appended claims. For example,due to the nature of software, functions described above can beimplemented using software executed by a processor, hardware, firmware,hardwiring, or combinations of any of these. Features implementingfunctions may also be physically located at various positions, includingbeing distributed such that portions of functions are implemented atdifferent physical locations.

As used herein, including in the claims, the term “and/or,” when used ina list of two or more items, means that any one of the listed items canbe employed by itself, or any combination of two or more of the listeditems can be employed. For example, if a composition is described ascontaining components A, B, and/or C, the composition can contain Aalone; B alone; C alone; A and B in combination; A and C in combination;B and C in combination; or A, B, and C in combination. Also, as usedherein, including in the claims, “or” as used in a list of items (forexample, a list of items prefaced by a phrase such as “at least one of”or “one or more of”) indicates a disjunctive list such that, forexample, a list of “at least one of A, B, or C” means A or B or C or ABor AC or BC or ABC (e.g., A and B and C).

In addition, any disclosure of components contained within othercomponents or separate from other components should be consideredexemplary because multiple other architectures may potentially beimplemented to achieve the same functionality, including incorporatingall, most, and/or some elements as part of one or more unitarystructures and/or separate structures.

Computer-readable media includes both computer storage media andcommunication media including any medium that facilitates transfer of acomputer program from one place to another. A storage medium may be anyavailable medium that can be accessed by a general purpose or specialpurpose computer. By way of example, and not limitation,computer-readable media can comprise RAM, ROM, EEPROM, flash memory,CD-ROM, DVD, or other optical disc storage, magnetic disc storage orother magnetic storage devices, or any other medium that can be used tocarry or store desired program code means in the form of instructions ordata structures and that can be accessed by a general-purpose orspecial-purpose computer, or a general-purpose or special-purposeprocessor. Also, any connection is properly termed a computer-readablemedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio, and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio, and microwave, or any combination thereof, are includedin the definition of medium. Disc, as used herein, include compact disc(CD), laser disc, optical disc, digital versatile disc (DVD), floppydisc and Blu-ray disc where discs usually reproduce data magnetically,while discs reproduce data optically with lasers. Combinations of theabove are also included within the scope of computer-readable media.

The previous description of the disclosure is provided to enable aperson skilled in the art to make or use the disclosure. Variousmodifications to the disclosure will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other variations without departing from the scope of thedisclosure. Thus, the disclosure is not to be limited to the examplesand designs described herein but is to be accorded the broadest scopeconsistent with the principles and novel features disclosed.

This disclosure may specifically apply to security system applications.This disclosure may specifically apply to storage system applications.In some embodiments, the concepts, the technical descriptions, thefeatures, the methods, the ideas, and/or the descriptions mayspecifically apply to storage and/or data security system applications.Distinct advantages of such systems for these specific applications areapparent from this disclosure.

The process parameters, actions, and steps described and/or illustratedin this disclosure are given by way of example only and can be varied asdesired. For example, while the steps illustrated and/or described maybe shown or discussed in a particular order, these steps do notnecessarily need to be performed in the order illustrated or discussed.The various exemplary methods described and/or illustrated here may alsoomit one or more of the steps described or illustrated here or includeadditional steps in addition to those disclosed.

Furthermore, while various embodiments have been described and/orillustrated here in the context of fully functional computing systems,one or more of these exemplary embodiments may be distributed as aprogram product in a variety of forms, regardless of the particular typeof computer-readable media used to actually carry out the distribution.The embodiments disclosed herein may also be implemented using softwaremodules that perform certain tasks. These software modules may includescript, batch, or other executable files that may be stored on acomputer-readable storage medium or in a computing system. In someembodiments, these software modules may permit and/or instruct acomputing system to perform one or more of the exemplary embodimentsdisclosed here.

This description, for purposes of explanation, has been described withreference to specific embodiments. The illustrative discussions above,however, are not intended to be exhaustive or limit the present systemsand methods to the precise forms discussed. Many modifications andvariations are possible in view of the above teachings. The embodimentswere chosen and described in order to explain the principles of thepresent systems and methods and their practical applications, to enableothers skilled in the art to utilize the present systems, apparatus, andmethods and various embodiments with various modifications as may besuited to the particular use contemplated.

What is claimed is:
 1. A storage device comprising: a non-operatingshock (NOS) detector to determine an occurrence of NOS; and an MR jogoffset direct current (DC) drift detector to select a first read/writehead of the storage device, use the first read/write head to perform afirst variable read of a first test track over one revolution of a firstdisk surface, determine a highest bit error rate (BER) value of thefirst disk surface based at least in part on the first variable read,and use an offset associated with the highest BER value of the firstdisk surface as a first DC drift amount for the first read/write head.2. The storage device of claim 1, the MR jog offset DC drift detector todetermine whether the storage device includes one or more read/writeheads in addition to the first read/write head for which the DC driftremains to be determined.
 3. The storage device of claim 2, upondetermining the storage device does not include any further read/writeheads for which the DC drift remains to be determined, an MR jog offsetcompensator to perform write seek forward compensation based at least inpart on the first DC drift amount for each write operation occurringafter the NOS that involves the first read/write head.
 4. The storagedevice of claim 3, upon determining the storage device includes a secondread/write head for which the DC drift remains to be determined, the MRjog offset DC drift detector to use the second read/write head toperform a second variable read of a second test track over onerevolution of a second disk surface, determine a highest BER value ofthe second disk surface based at least in part on the second variableread, and use an offset associated with the highest BER of the seconddisk surface as a second DC drift amount for the second read/write head,wherein the one or more read/write heads includes the second read/writehead.
 5. The storage device of claim 4, upon determining the storagedevice does not include any further read/write heads for which the DCdrift remains to be determined, the MR jog offset compensator to performwrite seek forward compensation based at least in part on the first DCdrift amount for each write operation occurring after the NOS thatinvolves the first read/write head, and perform write seek forwardcompensation based at least in part on the second DC drift amount foreach write operation occurring after the NOS that involves the secondread/write head.
 6. The storage device of claim 4, wherein the seconddisk surface is on a same disk as the first disk surface or on adifferent disk than the first disk surface.
 7. The storage device ofclaim 1, wherein performing the first variable read of the first testtrack over one revolution of the first disk surface comprises the MR jogoffset DC drift detector obtaining one or more reads per sector over theone revolution of the first disk surface, wherein the MR jog offset DCdrift determines one or more BER values per sector based at least inpart on the first variable read.
 8. The storage device of claim 7,wherein upon determining two or more BER values are determined persector of the first disk surface, the MR jog offset DC drift detector toaverage the multiple BER values of each sector to obtain a single BERvalue for each sector of the first disk surface, wherein the highest BERvalue for the first disk surface comprises a highest BER value among theaveraged BER values for each sector of the first disk surface.
 9. Thestorage device of claim 1, wherein performing the first variable read ofthe first test track over one revolution of the first disk surfacecomprises performing a spiral read, a zig-zag read, or a sinusoidalread, or any combination thereof.
 10. The storage device of claim 1,wherein the MR jog offset DC drift detector determines one or morevariable gain adjustment (VGA) values for each sector based at least inpart on the performing of the first variable read of the test track overone revolution of the first disk surface.
 11. The storage device ofclaim 1, wherein determining the occurrence of NOS is based at least inpart on slip of at least one storage disk.
 12. An apparatus comprising:a non-operating shock (NOS) detector to determine an occurrence of NOS;and an MR jog offset direct current (DC) drift detector to select afirst read/write head of the storage device, use the first read/writehead to perform a first variable read of a first test track over onerevolution of a first disk surface, determine a highest bit error rate(BER) value of the first disk surface based at least in part on thefirst variable read, and use an offset associated with the highest BERof the first disk surface as a first DC drift amount for the firstread/write head.
 13. The apparatus of claim 12, the MR jog offset DCdrift detector to determine whether the storage device includes one ormore read/write heads in addition to the first read/write head for whichthe DC drift remains to be determined.
 14. The apparatus of claim 13,upon determining the storage device does not include any furtherread/write heads for which the DC drift remains to be determined, an MRjog offset compensator to perform write seek forward compensation basedat least in part on the first DC drift amount for each write operationoccurring after the NOS that involves the first read/write head.
 15. Theapparatus of claim 14, upon determining the storage device includes asecond read/write head for which the DC drift remains to be determined,the MR jog offset DC drift detector to use the second read/write head toperform a second variable read of a second test track over onerevolution of a second disk surface, determine a highest BER value ofthe second disk surface based at least in part on the second variableread, and use an offset associated with the highest BER of the seconddisk surface as a second DC drift amount for the second read/write head,wherein the one or more read/write heads includes the second read/writehead.
 16. The apparatus of claim 15, upon determining the storage devicedoes not include any further read/write heads for which the DC driftremains to be determined, the MR jog offset compensator to perform writeseek forward compensation based at least in part on the first DC driftamount for each write operation occurring after the NOS that involvesthe first read/write head, and perform write seek forward compensationbased at least in part on the second DC drift amount for each writeoperation occurring after the NOS that involves the second read/writehead.
 17. The apparatus of claim 15, wherein the second disk surface ison a same disk as the first disk surface or on a different disk than thefirst disk surface.
 18. The apparatus of claim 12, wherein performingthe first variable read of the first test track over one revolution ofthe first disk surface comprises the MR jog offset DC drift detectorobtaining one or more reads per sector over the one revolution of thefirst disk surface, wherein the MR jog offset DC drift determines one ormore BER values per sector based at least in part on the first variableread.
 19. A method comprising: determining an occurrence ofnon-operating shock (NOS) on a storage drive, determining the occurrenceof NOS being based at least in part on slip of at least one storagedisk; selecting a first read/write head of the storage device; using thefirst read/write head to perform a first variable read of a first testtrack over one revolution of a first disk surface of the storage drive;determining a highest bit error rate (BER) value of the first disksurface based at least in part on the first variable read; and using anoffset associated with the highest BER of the first disk surface as afirst DC drift amount for the first read/write head.
 20. The method ofclaim 19, further comprising: determining whether the storage deviceincludes one or more read/write heads in addition to the firstread/write head for which the DC drift remains to be determined; upondetermining the storage device does not include any further read/writeheads for which the DC drift remains to be determined, an MR jog offsetcompensator to perform write seek forward compensation based at least inpart on the first DC drift amount for each write operation occurringafter the NOS that involves the first read/write head; and upondetermining the storage device includes a second read/write head forwhich the DC drift remains to be determined, the MR jog offset DC driftdetector to use the second read/write head to perform a second variableread of a second test track over one revolution of a second disksurface, determine a highest BER value of the second disk surface basedat least in part on the second variable read, and use an offsetassociated with the highest BER of the second disk surface as a secondDC drift amount for the second read/write head, wherein the one or moreread/write heads includes the second read/write head.